const router = require('koa-router')()
const { exec } = require('../db/index')
const UsersController = require('../controller/users')
const HomeController = require('../controller/home')
const jwt = require('jsonwebtoken')
const { secretKey } = require('../config/index')

router.prefix('/api')
// async 把异步写成同步了
const auth = async (ctx, next) => {
  const { authorization } = ctx.request.header;
  try {
    const user = jwt.verify(authorization, secretKey)
    // console.log(user, 'user-----user')
    // 如果能解析出来，就让当前的用户往下走
    ctx.state.user = user; // 命名空间 存储用户信息
    await next();
  } catch (e) {
    ctx.body = {
      code: -1,
      msg: '用户的账号或者密码错误'
    }
  }
}

// add  model -》 控制 -》 controller 参数返回 
router.post('/user', auth, UsersController.add)
// 按page size返回数据，没有参数的时候返回所有的数据
router.get('/user/page', UsersController.page)

// 登陆接口  get post  
router.post('/login', HomeController.login)
router.post('/register', HomeController.register)


module.exports = router
